#ifndef CWINDOW_SDL_1_3_H
#define CWINDOW_SDL_1_3_H

//
//  FORWARD DECLS
//
struct SDL_Window;
struct SDL_Renderer;
union SDL_Event;
struct SDL_Surface;

typedef class CWindowSDL_1_3
{
    public:
        CWindowSDL_1_3( void );
virtual ~CWindowSDL_1_3( void );

virtual void Process( const SDL_Event& ev );

        int Init( void );
        void ShutDown( void );

        void Clear( const unsigned char red, const unsigned char green,
                    const unsigned char blue, const unsigned char alpha );
        void Clear( void );
        void Refresh( void );

        void SetTitle( const char* title );
    protected:
        // default values
static  const int DEFAULT_WIDTH;
static  const int DEFAULT_HEIGHT;
static  const int DEFAULT_X_POS;
static  const int DEFAULT_Y_POS;
static  const char DEFAULT_TITLE[];

        // regular vars
        int             m_Width;
        int             m_Height;
        int             m_Xpos;
        int             m_Ypos;
        int             m_CreateFlags;
        const char*     m_Title;
        SDL_Window*     m_hWnd;
        SDL_Renderer*   m_hRenderer;
        bool            m_isQuitting;
static  bool            m_isVideoInitialized;

} CWindow;

#endif // CWINDOW_SDL_1_3_H
